$(function() {
	Role_Js.init()

})
/**
 * 角色管理js
 */
var Role_Js = {
	/**
	 * 模块序号
	 */
	MODULE_ID : "",
	/**
	 * 表格对象
	 */
	Table_Obj : null,
	/**
	 * 初始化Role_Js对象
	 */
	init : function() {
		Role_Js.MODULE_ID = GetRequest().pid;
		Role_Js.load_data();
	},
	/**
	 * 加载角色分页数据
	 */
	load_data : function() {
		$.ajax({
			url : "/crm/role/loadRoleByPage", // 请求的url地址
			dataType : "json", // 返回格式为json
			async : false,// 请求是否异步，默认为异步，这也是ajax重要特性
			data : {
				pageIndex : 1,
				pageSize : 20,
				roleName : ""
			}, // 参数值
			type : "post", // 请求方式
			success : function(data) {
				Role_Js.init_table(data.rows);
				$("#total_records").text(data.total);
				$("#this_page").text(1);
				$("#total_page").text(data.totalPages);
				var url = "/crm/role/loadRoleByPage";
				setCommon({roleName : ""}, Role_Js.Table_Obj, url);
			},
			error : function() {
				AlertBox.alert("链接异常！", "");
			}
		})
	},
	/**
	 * 初始化表格
	 * 
	 * @param rows
	 */
	init_table : function(rows) {
		var esay = $("#TableContainer").easyTable({
			data : rows, // 初始数据，动态添加可以通过setData
			hideCheckbox : false, // 否显示复选框，获取复选框选择的数据用方法getCheckedItem
			// rowClick : function(data) {// 行点击回调，参数为改行数据
			// alert(JSON.stringify(data))
			// },
			rowDoubleClick : function(data) {// 行双击回调，参数为改行数据
				Role_Js.lookDetails(data.uuid);
			},
			columns : [ {// 表格结构配置
				title : "角色名称",// 列title文字
				field : "roleName",// 该列对应数据哪个字段
				width : "15%"// 列宽度设置,不设也没什么
			}, {
				title : "是否可以",
				field : "isUse",
				width : "10%",
				render : function(data) {
					if (data.isUse == 1) {
						return "可用";
					} else {
						return "停用";
					}
				}
			}, {
				title : "角色备注",
				field : "roleRemark",
				width : "20%",
				render : function(data) {
					if (data.roleRemark == null) {
						return "";
					} else {
						return data.roleRemark;
					}
				}
			}, {
				title : "创建者",
				field : "creatorName",
				width : "15%"
			}, {
				title : "创建时间",
				field : "createTime",
				width : "15%"
			}, {
				title : "操作",
				// width : "20%",
				render : function(data) {
					return Role_Js.loadOperater(data);
				}
			} ]
		});
		Role_Js.Table_Obj = esay;
	},
	/**
	 * 初始化操作栏
	 * @param data
	 */
	loadOperater:function(data){
		var html = "";
		html += '<a onclick="Role_Js.lookDetails(\'' + data.uuid + '\')">查看编辑</a>';
		html += '<a class="ml10" onclick="Role_Js.changePower(\'' + data.uuid + '\')">分配权限</a>';
		html += '<a class="ml10" onclick="Role_Js.deleteUser(\'' + data.uuid + '\')">删除</a>';

		return html;
	},
	/**
	 * 检索user
	 */
	search_users:function() {
		var pageSize = $("#page_size").val();
		var pageIndex = 1;
		var obj = {};
		obj.pageSize = pageSize;
		obj.pageIndex = pageIndex;
		var roleName = $("#search_words").val();
		var othr = {};
		othr.roleName = roleName;
		reset_serach(othr, obj);
	},

	/**
	 * 新增角色
	 */
	add:function() {
		var html = '';
		html += '<div class="ued_w">';
		html += '<dl class="clearfix">';
		html += '<dt>角色名称：</dt>';
		html += '<dd>';
		html += '<input type="text" class="text" placeholder="" id="roleId" value="" style="display: none;">';
		html += '<input type="text" class="text" placeholder="" id="roleUuid" value="" style="display: none;">';
		html += '<input type="text" class="text" placeholder="" id="roleName">';
		html += '</dd>';
		html += '</dl>';
		html += '<dl class="clearfix">';
		html += '<dt>是否可用：</dt>';
		html += '<dd style="float: left;margin-top: 7px;">';
		html += '<input type="radio" name="isUse" value ="1" checked="checked"> 可用';
		html += '<input type="radio" name="isUse" value ="0"> 不可用';
		html += '</dd>';
		html += '</dl>';
		html += '<dl class="clearfix">';
		html += '<dt>角色备注：</dt>';
		html += '<dd>';
		html += '<input type="text" class="text" placeholder="" id="roleRemark">';
		html += '</dd>';
		html += '</dl>';
		html += '</div>';

		var title = "新增角色";
		var content = '<div style="padding: 20px 80px 20px;">请确认操作？</div>';
		var url = "/crm/role/addSaveRole";
		AlertBox.confirm(html, title, Role_Js.addSave, url);
	},
	/**
	 * 新增编辑保存
	 */
	addSave:function(url) {
		var obj = {};
		var id = $("#roleId").val();
		if (id != "") {
			obj.id = id;
			obj.uuid = $("#roleUuid").val();
		}
		obj.roleName = $("#roleName").val();
		obj.isUse = $("input[name='isUse']:checked").val();
		obj.roleRemark = $("#roleRemark").val();
		$.ajax({
			url : url, // 请求的url地址
			dataType : "json", // 返回格式为json
			async : false,// 请求是否异步，默认为异步，这也是ajax重要特性
			data : obj, // 参数值
			type : "post", // 请求方式
			success : function(data) {
				AlertBox.alert(data.info, "");
				if (data.status) {
					Role_Js.search_users();
				}
			},
			error : function() {
			}
		})
	},
	/**
	 * 查看编辑
	 * 
	 * @param uuid
	 */
	lookDetails:function(uuid) {
		$.ajax({
			url : "/crm/role/findRoleByUuid", // 请求的url地址
			dataType : "json", // 返回格式为json
			async : false,// 请求是否异步，默认为异步，这也是ajax重要特性
			data : {
				uuid : uuid
			}, // 参数值
			type : "post", // 请求方式
			success : function(data) {

				var html = '';
				html += '<div class="ued_w">';
				html += '<dl class="clearfix">';
				html += '<dt>角色名称：</dt>';
				html += '<dd>';
				var roleName = data.roleName == null ? "" : data.roleName;
				html += '<input type="text" class="text" placeholder="" id="roleId" value="' + data.id + '" style="display: none;">';
				html += '<input type="text" class="text" placeholder="" id="roleUuid" value="' + data.uuid + '" style="display: none;">';
				html += '<input type="text" class="text" placeholder="" id="roleName" value="' + roleName + '">';
				html += '</dd>';
				html += '</dl>';
				html += '<dl class="clearfix">';
				html += '<dt>是否可用：</dt>';
				html += '<dd style="float: left;margin-top: 7px;">';
				html += '<input type="radio" name="isUse" value ="1" checked="checked"> 可用';
				html += '<input type="radio" name="isUse" value ="0"> 不可用';
				html += '</dd>';
				html += '</dl>';
				html += '<dl class="clearfix">';
				html += '<dt>角色备注：</dt>';
				html += '<dd>';
				var roleRemark = data.roleRemark == null ? "" : data.roleRemark;
				html += '<input type="text" class="text" placeholder="" id="roleRemark" value="' + roleRemark + '">';
				html += '</dd>';
				html += '</dl>';
				html += '</div>';

				var title = "编辑角色";
				var content = '<div style="padding: 20px 80px 20px;">设置后不可恢复，只能重新设置，请确认操作？</div>';
				var url = "/crm/role/editSaveRole";
				AlertBox.confirm(html, title, Role_Js.addSave, url);
				$("input[name='isUse'][value='" + data.isUse + "']").attr( "checked", true);
			},
			error : function() {
			}
		})
	},
	/**
	 * 编辑图片
	 * 
	 * @param id
	 */
	changePower:function(uuid) {
		parent.createPage("分配权限", "../html/role/rolePower.html?roleId=" + uuid,true, "rolePower");
	},

	/**
	 * 删除用户
	 * 
	 * @param id
	 */
	deleteUser:function(uuid) {
		var title = "删除提示";
		var content = '<div style="padding: 20px 80px 20px;">删除角色后不可恢复，请确认操作？</div>';
		AlertBox.confirm(content, title, Role_Js.sureDelete, uuid);
	},
	/**
	 * 批量删除
	 */
	beathDelete:function() {
		var datas = Table_Obj.getCheckedItem();
		if (datas.length <= 0) {
			AlertBox.alert('请选择有效数据','提示');
		        return;
		}
		var arr = new Array();
		$.each(datas, function(key, val) {
			arr[key] = val.uuid;
		});
		var uuids = arr.join(",");
		Role_Js.deleteUser(uuids);
	},

	/**
	 * 确认删除操作
	 * 
	 * @param id
	 */
	sureDelete:function(uuids) {
		$.ajax({
			url : "/crm/role/deleteRoleByUuids", // 请求的url地址
			dataType : "json", // 返回格式为json
			async : false,// 请求是否异步，默认为异步，这也是ajax重要特性
			data : {
				"uuids" : uuids
			}, // 参数值
			type : "post", // 请求方式
			success : function(data) {
				AlertBox.alert(data.info, "");
				if (data.status) {
					Role_Js.search_users();
				}
			},
			error : function() {
			}
		})
	},
	/**
	 * 设置停启用
	 * 
	 * @param num
	 *            0、停用；1、启用；
	 */
	setIsUse:function(num) {
		var datas = Table_Obj.getCheckedItem();
		var arr = new Array();
		$.each(datas, function(key, val) {
			arr[key] = val.uuid;
		});
		if (arr.length == 0) {
			AlertBox.alert("未选择有效数据！", "");
			return;
		}
		var uuids = arr.join(",");
		var obj = {};
		obj.uuids = uuids;
		obj.isUse = num;
		var title = "停启用提示";
		var content = '<div style="padding: 20px 80px 20px;">设置后不可恢复，只能重新设置，请确认操作？</div>';
		AlertBox.confirm(content, title, Role_Js.suerSetIsUser, obj);
	},
	/**
	 * 设置停启用
	 * 
	 * @param obj
	 */
	suerSetIsUser:function (obj) {
		$.ajax({
			url : "/crm/role/setIsUseByRoleUuids", // 请求的url地址
			dataType : "json", // 返回格式为json
			async : false,// 请求是否异步，默认为异步，这也是ajax重要特性
			data : obj, // 参数值
			type : "post", // 请求方式
			success : function(data) {
				AlertBox.alert(data.info, "");
				if (data.status) {
					Role_Js.search_users();
				}
			},
			error : function() {
			}
		})
	}
}


